Multiple barcode processing apparatus, systems, and methods

ABSTRACT

Various embodiments of apparatus, systems, and methods operate to identify, by a scanning device, whether barcode data includes one of a primary type or a secondary type. Additional activity includes reconfiguring the scanning device to receive secondary barcode data when the primary type comprises a non-standalone primary barcode, reporting a standalone secondary barcode of the secondary type to a transaction processing system, and buffering a non-standalone secondary barcode of the secondary type. Additional apparatus, systems, and methods are disclosed.

BACKGROUND INFORMATION

Many products have primary, and now secondary one-dimensional (1D) andtwo-dimensional (2D) barcodes that contain useful information. Readingmultiple barcodes has become a common problem for handheld scanners. Insome cases, the user attempts to manage the acquisition of informationby aiming the handheld scanner at individual codes, one at a time.

However, some scanners, such as the all-imaging bi-optic scanners, arenow able to read both 1D and 2D barcodes, including multiple barcodes,simultaneously. In this case, the user has no control over whichbarcodes are read by the scanner. For example, when the scanner beeps,the user does not know which barcode (primary or secondary) caused thebeep. The problem becomes: how can this type of barcode scanner capturesecondary barcodes when desired, while simultaneously suppressing theread of others—without compromising read performance?

SUMMARY

Various embodiments herein each include at least one of systems,devices, methods, and software that enable efficient processing ofmultiple barcode types. In one such embodiment, in the form of a method,includes identifying, by a scanning device, whether barcode dataincludes one of a primary type or a secondary type. Additionalactivities include reconfiguring the scanning device to receivesecondary barcode data when the primary type comprises a non-standaloneprimary barcode; reporting a standalone secondary barcode of thesecondary type to a transaction processing system; and buffering anon-standalone secondary barcode of the secondary type.

In another method embodiment, activities include identifying, by ascanning device, whether barcode data includes a barcode type as one ofa primary type or a secondary type; accessing a database to locate atleast one barcode processing rule associated with the barcode type;redefining the barcode type as a redefined secondary barcode when thebarcode type is identified as a primary type, or redefining the barcodetype as a redefined primary barcode when the barcode type is identifiedas a secondary type, according to the at least one barcode processingrule; and filtering new barcode, by the scanning device, to selectivelyreceive the redefined primary barcode or the redefined secondarybarcode.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating components of a checkout station havinga scanner, according to an example embodiment.

FIG. 2 is block diagram of networked system components, according anexample embodiment.

FIGS. 3-4 illustrate a flow diagram of a method, according to an exampleembodiment.

DETAILED DESCRIPTION

Barcodes can be divided into two classes: primary and secondary. Primarybarcodes are barcodes where maximum read performance is useful toenhance checkout speed. In most embodiments, a positive scanconfirmation (e.g., beep sound) is used. Examples include the universalproduct code (UPC) labels that are available on most products, and thePDF417 barcode on drivers' licenses.

Secondary barcodes are less common. These are barcodes where maximumperformance is not of primary concern, and for which reading may or maynot be optional. Examples include Datamatrix barcodes for lot codes onmedication, and C128 barcodes for discount stickers (and in some cases,C128 barcodes printed on drivers' licenses, in addition to the primaryPDF417 barcode).

Primary and secondary barcodes can often be identified by symbologytype. Other rules can be used to identify the barcode type as well, suchas length, prefix, data content, shape (e.g., aspect ratio), amongothers. In most embodiments, identification rules for primary andsecondary barcodes can be applied by the barcode scanner, by theassociated point of sale (POS) software, or by a combination of these.

In most embodiments, a database containing rules is used as part of asystem and method to effectively ignore undesirable barcodes, whileenabling system reads of multiple desirable barcodes—together. In someembodiments, the system comprises a bi-optic scanner, such as NCRRealScan™ 7879 Bi-Optic Imager available from NCR Corporation of Duluth,Ga. (hereinafter the “7879 scanner”). This system can operation as a POScheckout device, with a POS terminal, printer, keyboard, display,magnetic stripe reader (MSR), and POS software.

In many embodiments, it is assumed that the POS involved as access torules, such as customer-specific rules, that set forth which primarybarcodes require secondary barcodes. For example, the store price lookup (PLU) file may indicate the primary UPC code for a bottle ofmedication requires a secondary Datamatrix barcode to specify theexpiration date. The PLU file may also indicate that the primary UPCcode for a box of plastic bags does not require a secondary barcode. Inanother example, sales of alcoholic products may involve scanning aprimary UPC for a bottle of whiskey, with a required secondary PDF417barcode scan from a driver's license, to ascertain the age of thepurchaser.

In many embodiments, primary barcodes will scan, automatically providean audible “beep”, and transmit to the acquired data to the POSimmediately. Secondary barcodes will scan and transmit to the POSimmediately, but do not automatically provide an audible indication(e.g., “beep”).

As will be described in more detail later in this document, the POSsoftware can be configured to apply customer-specific business rules todetermine how data acquired from the secondary barcodes should behandled. Examples of rule sets that might be used in various embodimentsinclude, but are not limited to:

RULE SET 1: After an initial scan, the POS software recognizes a primarybarcode that requires the user to capture a secondary barcode. The POSsoftware temporarily re-configures the scanner to disable all primarybarcodes, and enable only the desired secondary barcode. The POSsoftware then prompts the user to re-scan the item to capture thesecondary barcode. When the POS software receives information from thesecondary barcode, an audible indication is made to acknowledgeacquisition, for example by sending a command to the scanner to make itbeep.RULE SET 2: After an initial scan, the POS recognizes a primary barcodethat does not require a secondary barcode. The POS software does nothingwith respect to additional scanning, and allows the transaction tocontinue with scanning additional products, or executing a tenderoperation.RULE SET 3: After an initial scan, the POS recognizes a secondarybarcode. The POS operates to buffer the secondary barcode. If the POSacquires additional information, and recognizes a primary barcode withina timeout period (e.g., within one second) that requires the secondarybarcode, the POS operates to store the primary and secondary barcodetogether and allows the transaction to continue. If the timeout periodexpires, or if the POS recognizes a primary barcode that does notrequire a secondary barcode, the POS flushes the secondary barcode fromthe buffer and allows the transaction to continue. In some embodiments,the secondary barcode is checked against the PLU database to verify thatit is present in the database.RULE SET 4: After an initial scan, the POS software recognizes asecondary barcode that, after the application of another rule set,stands alone and should be acknowledged with an audible indication(e.g., “beep”). For example, the scanner might be configured to classifyall Datamatrix barcodes as secondary, and send them to the POS from thescanner without any audible signal. This prevents unexpected beeps whenscanning medication with a Datamatrix lot code. However, the saleslocation may encounter loyalty cards that also use Datamatrix symbology.The POS might then evaluate all secondary Datamatrix barcodes itreceives from the scanner to identify whether they are loyalty barcodes(e.g., according to length or data content). If they are associated withthe sales location's loyalty program, the POS might operate to send acommand to the scanner to make an audible indication (e.g., “beep”) andacknowledge acquisition of the barcode associated with the loyaltyprogram.RULE SET 5: After an initial scan, the POS software recognizes asecondary barcode that, after the application of another rule set, is tobe combined with the nearest primary barcode. For example, the secondarybarcode might represent a discount sticker that the POS softwareidentifies by evaluating the barcode shape or data content. The POS maythen assign the secondary barcode to a primary barcode that waspreviously, or subsequently acquired—depending on which is physicallycloser to the secondary barcode, and/or which is most appropriate toreceive a discount code.

In some embodiments, the definition of primary and secondary barcodesmight change dynamically, as a sales transaction progresses from initialscans through to a tendering operation. For example, while items arebeing scanned, all Datamatrix barcodes might be classified as secondarybarcodes that do not elicit an audible indication (e.g., “beep”) fromthe scanner. However, during the tendering operation, the POS softwaremight redefine Datamatrix barcodes to be primary barcodes that elicitbeeps, to operate in accordance with the store's loyalty program thatuses Datamatrix symbology.

In some embodiments, the POS software applies business-specific rules.In other embodiments, the barcode scanner, or a combination of barcodescanner and POS software, applies the rules. For example, the 7879scanner with an Ethernet connection can query the PLU database serverdirectly to identify those primary barcodes that require a secondarybarcode, and those that do not. The 7879 scanner can also download andmaintain a local copy of all or part of the store PLU database file tomake local decisions. When the 7879 scanner identifies a primary barcodethat needs a secondary barcode, the 7879 scanner can prompt the user toscan the secondary barcode by an audible indicator (e.g., distinctivebeep pattern), by voice, or by sending a command to the POS software todisplay prompts to the user on a video display.

While data of secondary barcodes may be useful and even important forsome purposes, when data encoded in secondary barcodes is not needed ordesired by a POS system, or other system that may process barcode data,reading and processing data of secondary barcodes slows operation of thescanner and terminal under use. Thus, the various embodiments hereinoperate to address some of these issues presented by products thatsecondary barcodes affixed thereto or otherwise printed thereon.

FIG. 1 is a diagram illustrating components of a checkout station 100having a scanner 108, according to an example embodiment. It is to benoted that the checkout station 100 is shown schematically in greatlysimplified form, with example components relevant to understanding thevarious embodiments described herein. This simplification is also ineffect for components of the checkout station 100. Thus, the checkoutstation 100 may include more or fewer components in some embodiments.

Moreover, the various components included in the FIG. 1 as illustratedand arranged are provided for illustration purposes only. Otherarrangements with more or fewer components are possible withoutdeparting from the description of various embodiments herein, inparticular with regard to automatic and remote scanner configuration.Thus, although the checkout station 100 is illustrated to include ascanner 108, the scanner 108 may be a standalone element or an elementof other systems, devices, and terminals in other embodiments. Examplesof other terminal-types that may include a scanner 108 are self-serviceterminals (SSTs), clerk operated and self-service library checkoutstations, time-keeping terminals, Pay-at-the-Pump terminals attached toa fuel pump at a fueling station, and the like.

The methods of some embodiments are programmed as executableinstructions in memory and/or non-transitory computer-readable storagemedia and executed on one or more processors and other such dataprocessing devices associated with the components and devices herein.Thus, in some embodiments, a non-transitory machine-readable storagedevice comprises instructions stored thereon, which, when performed by amachine, cause the machine to become a customized, particular machinethat performs operations comprising one or more features similar to oridentical to those described with respect to the methods and techniquesdescribed herein. A machine-readable storage device, herein, is aphysical device that stores information (e.g., instructions, data),which when stored, alters the physical structure of the device. Examplesof machine-readable storage devices can include, but are not limited to,memory in the form of read only memory (ROM), random access memory(RAM), a magnetic disk storage device, an optical storage device, aflash memory, and other electronic, magnetic, or optical memory devices,including combinations thereof.

The physical structure of stored instructions in the memory 124 may beoperated on by one or more processors such as, for example, theprocessor 122. Operating on these physical structures can cause themachine to become a specialized machine that performs operationsaccording to methods described herein.

The checkout station 100 includes one or more POS displays 102 thatpresent information of a POS system 104 coupled to the one or more POSdisplays. Information presented by the one or more POS displays includesinformation relevant in a retail context and with regard to operation ofthe checkout station. The checkout station 100 also includes one or morescanners 108.

The scanner 108 may be referred to as a barcode scanner as that is thetask most commonly associated with such devices. An example of such abarcode scanner is the 7879 scanner. During operation of the checkoutstation 100, items are placed within a scan field of the scanner 108.One or more scanning devices 118 of the scanner 108, such as one or moreof a camera and a laser scanner then scan a barcode and information readtherefrom is communicated to the POS system 104. The POS system 104 thenuses that data to identify the item placed within the scan field of thescanner 108 and performs an additional function. The additional functionmay include a price lookup and addition of the item to a list of itemsto be purchased, which may be presented on the one or more POS displays102.

The scanner 108 may include one or more scan fields, such as two scanfields of bi-optic scanners that are in use in grocery and discountretail outlets, and well known to those of ordinary skill in the art. Inaddition to the scanning devices 118, the scanner 108 may includevarious other components. The various other components may include anintegrated scale 110 such as may be used in a grocery outlet to weighproduce and one or both of a speaker 112 and display lighting 116 tooutput audio and visual signals such as signals indicating successfuland/or unsuccessful scans. The scanner 108 may also include scan fieldlighting 120 that may be turned on and off and adjusted based on adetected presence of an item to be scanned.

During operation, the scanner 108 is functions according to instructionsexecuted on a processor 122. The processor 122 may comprise anapplication integrated circuit (ASIC), a digital signal processor, amicroprocessor, or another type of processor. The instructions maycomprise firmware 126 or software 130 stored in one or more memories124. The one or more memories 124 may comprise volatile and/ornon-volatile memories, write-protected memories, write-once memories,RAM, ROM, and other memory and data storage types and devices.

The instructions stored in firmware 126 and/or as software 130 in memory124 are executed according configuration settings stored in the memory124. The configuration settings 128 configure operation of the scanner108, and various components, both hardware and software, therein. Forexample, the configuration settings 108 may operate to configure thevolume of the speaker 112, display lighting 116 operation, brightness ofthe scan field lighting 120, selection of a decoding algorithm for thescanning device(s) 118, and the selection of one or more communicationprotocols used to communicate data from the scanner 108 to the POSsystem 104, via a wired or wireless communication interface 106 of thePOS system 104 to a physical communication interface device 114 orvirtualized communication interface 132 of the scanner 108. For example,in some embodiments, the communication interface 106 of the POS system104 is accessible from the scanner 108 as a virtualized communicationinterface 132 maintained in the memory 124 by a process that executes onthe processor 122. Each of the communication interfaces 106, 114 maycomprise wired or wireless communication interface devices, such as awired Ethernet device, a wireless Ethernet device (e.g., a devicecapable of communicating according to one or more of the 802.11standards), a Bluetooth® communication device, a mesh network device orother peer-to-peer type networking device, a mobile network datacommunication device, and the like.

In some embodiments, a product placed within the scan field of thescanner 108 may include a primary barcode, such as a UPC, and one ormore secondary barcodes that may be present on the product for variouspurposes. Such purposes may include an encoded lot number, publicationor freshness date, manufacture and/or expiration date, etc. In someinstances, the secondary barcode data may be needed to process the saleof, or track the location of the product being sold. In other instances,the secondary barcode is not needed.

Thus, in a conventional system, when a secondary barcode is read, ascanner might immediately communicate the barcode data from a scannedsecondary barcode to the POS system 104. When this barcode data is notneeded or cannot be processed by the POS system 104, operation of thePOS system 104 slows down to make time for the POS system 104 to returna signal to the scanner 108 indicating a bad barcode read condition. Theproduct must then be rescanned to obtain the proper barcode, such as theUPC. This may result in another scan of the secondary barcode, whichfurther slows operation. Various embodiments herein address thissituation by maintaining a database, which may be local to the scanner108, perhaps stored in configuration settings 128 present in a memory124 of the scanner 108. This local database, in some embodiments, is aself-learned database that is built or augmented over time as badbarcode reads are communicated back to the scanner 108 by the POS system104. In some embodiments, the scanner database may also or alternativelybe obtained or augmented with data from a remote barcode databasemaintained on a network and accessed by the scanner 108 via acommunication interface 114 of the scanner 108. As mentioned elsewhereherein, the communication interface 114 may be a network interfacedevice, such as a wired or wireless Ethernet device. In someembodiments, data from the local database may also be communicated viathe communication interface 114 to a network service that synchronizesbarcode data in the barcode database maintained on the network.

In some embodiments, the software 130 stored in memory 124 includesinstructions executable on the processor 122 to automatically set theconfiguration settings 128, such as upon scanner 108 installation,completion of scanner 108 maintenance, or other times with regard to thescanner 108. In some embodiments, the software 130 stored in the memory124 includes instructions executable by the processor 122 to suppressprocessing of data read from secondary barcodes in view of a localdatabase of secondary barcode data also stored in the memory 124, suchas in or with the configuration settings 128.

In some embodiments, a group of scanners 108 deployed on a network mayshare a database of barcode data accessible via a network bycommunication interfaces 114 of the respective scanners 108. In otherembodiments, the various scanners 108 may synchronize their localbarcode databases among each other in a Peer-to-Peer (P2P) manner or viaa network service or shared database accessible via the network.

In some embodiments, a database of barcode data may simply includebarcode data that is to be ignored when encountered by the scanner 108.For example, the scanning device 118 may operate to scan and decode abarcode, and firmware 126 or other software 130 may execute on theprocessor 122 to query a local database of barcode data stored in theconfiguration settings 128 to see if the scanned barcode data is presenttherein. In such embodiments, when the barcode data is present in thelocal database, the barcode data is simply ignored and the scanningdevice 118 is returned to a barcode searching and scanning mode. Inother embodiments, barcode data stored in the local database may includerecords of barcode data including barcode data of one barcode and a ruleor an association with a rule that includes instructions or isassociated with instructions that are to be performed upon the scanner108 encountering the barcode data. The records may include instructionsto: ignore the barcode data, to submit the barcode data to anothersystem such as a POS system, to request additional information from acustomer such as a date of birth or driver's license which may also bescanned, trigger a process to load a value to pre-paid gift or debitcard, and the like. Thus, a local database, or another database asdescribed herein, that stores barcode data may be take different formsand store different data (e.g., rules and records of instructions) invarious embodiments.

FIG. 2 is block diagram of networked system 200 components, according anexample embodiment. The networked system 200 is a view of a networkedsystem including scanners 206, 208, 210, 212 connected to a networksegment 202. The network segment 202 may be a stand-alone network, suchas a network within a retail outlet. The network segment 202 may also bepart of a larger network that includes additional network segments 220,230. For example, the network segment 202 may be a store-based networkthat is also coupled a corporate network segment 220. The corporatenetwork segment 220 may further be coupled to an internet 232 networksegment 230.

The network segment 202 includes the plurality of scanners 206, 208,210, 212 connected thereto. The system 200 also includes a scanner 204that has not yet been connected to the network segment 202. In someembodiments, once the scanner 204 is connected to the network segment202, a configuration process will execute within the scanner toautomatically set its configuration. This may include discovering itsconfiguration through communication with one or more of the otherscanners 206, 208, 210, 212, requesting configuration setting data froma server 222 that may be accessible via the network segment 202, thecorporate segment network 220, or the Internet 232 network segment 230.These configuration settings may include data to be stored on thescanner 204 as a local database of barcode data, which may includebarcode data of secondary barcodes to suppress. Further, theconfiguration settings may also be pushed to, or otherwise remotely sentto the scanner 204, or to other scanners 206, 208, 210, 212 from theserver or from a computing device 234 that may be connected to theInternet 234, the corporate network segment 220, or the network segment202 via an interface of the scanners 204, 206, 208, 210, 212 asdiscussed above. In some embodiments, local databases of barcode datastored in the memories of the scanners 204, 206, 208, 210, 212 maybesynchronized via one or more of the network segments 202, 220, 230 viaP2P processes that execute on the scanners 204, 206, 208, 210, 212, viaa process on the server 222, or otherwise. In some embodiments, a PLUdatabase 240 may be located on a server 222.

The scanners 204, 206, 208, 210, 212 may be similar to or identical tothe scanner 108 shown in FIG. 1. Thus, although not illustrated, thescanners 206, 208, 210, 212 may be coupled to terminals, such a POSterminals, self-service kiosks, and the other types of terminalsdiscussed elsewhere herein (e.g., POS system 104 and checkout station100 of FIG. 1).

Thus, as will become apparent to those of ordinary skill in the art,after reviewing this document and FIG. 2, some embodiments can implementthe functions described herein as part of the activity of two or morespecific interconnected hardware modules or devices with related controland data signals. These control and data signals may be communicatedbetween and through the modules, or as portions of anapplication-specific integrated circuit. Thus, the example process flowthat follows is applicable to software, firmware, and hardwareimplementations.

FIGS. 3-4 illustrate a flow diagram of a method 300, according to anexample embodiment. The method 300 is an example of a method that may beperformed on a scanner, such as the scanner 108 of FIG. 1, as well as onany of the scanners 204, 206, 208, 210, 212 of FIG. 2.

Referring now to FIGS. 1-3, it can be seen that the method 300 may beginat block 317 with receiving barcode data read by a barcode scanningdevice, such as one of the one or more scanning devices 118 of thescanner 108 of FIG. 1. The barcode data may be received by a firmware126 or software 130 process taking place within the scanner 108.

The method 300 continues on to block 321 to include identifying, by thescanning device, whether the barcode data includes one of a primary typeor a secondary type. When the acquired barcode data includes a primarytype, as determined at block 321, the method 300 may continue on toblock 325 to include reporting the primary type to the transactionprocessing system when the primary type comprises a standalone primarybarcode.

If a secondary barcode should be scanned, as determined at block 329,such as when the primary type comprises a non-standalone primarybarcode, the method 300 may continue on to block 333 to includereconfiguring the scanning device to receive secondary barcode data whenthe primary type comprises a non-standalone primary barcode. Theactivity of reconfiguring at block 333 may include reconfiguring thescanning device to ignore the primary type in the secondary barcodedata.

The method 300 may then continue on to block 337 to include promptingfor acquisition of the secondary barcode data including an associatedsecondary type after reconfiguring the scanning device.

When the secondary barcode is acquired at block 341, the method 300 maycontinue on to block 345 to acknowledge acquisition of the secondarybarcode (e.g., with an audible beep), and then send the secondarybarcode to the POS.

Returning to block 321, when the acquired barcode data includes asecondary type (i.e., does not include a primary type, as determined atblock 321), the method 300 may continue on to block 419 to includeaccessing a set of barcode processing rules to determine that thesecondary type comprises the standalone secondary barcode at block 419,and then going on to block 455 to determine whether an audible signalshould be emitted to acknowledge presence of a selected type of thestandalone secondary barcode. If not, then processing of the secondarybarcode may include reporting the standalone secondary barcode of thesecondary type to a transaction processing system, such as a POS, atblock 415, with no audible indication. Otherwise, an audible signal(e.g., a “beep” signal) may be emitted at block 459, and thereafter, thesecondary barcode is reported to the transaction processing system atblock 415.

In some embodiments, when the acquired barcode data includes a secondarytype that is not a standalone secondary barcode, then the method 300 maycontinue on to block 423 with buffering a non-standalone secondarybarcode of the secondary type. The activity at block 419 may thuscomprise accessing a set of barcode processing rules to determine thatthe secondary type comprises the non-standalone secondary barcode, andassigning the non-standalone secondary bar code to an associated primarybarcode.

The method 300 may then continue on to block 427 to include starting atimer to limit a time period for identifying the associated primary typefrom new barcode data acquired after the buffering. The method 300 maythen continue on to block 431 to include acquiring new barcode data thatidentifies the primary type during the time period.

The method 300 may then continue on to block 435 to determine thatbarcode data including a primary type has been acquired. This may bedetermined by, for example, determining the identity of the associatedprimary barcode based on physical proximity to the non-standalonesecondary bar code. In some embodiments, the activity at block 435include determining the identity of the associated primary barcode basedon at least one barcode processing rule applied to barcodes scannedprior to and after acquisition of the bar code data acquired at block435.

If the appropriate barcode data including a primary type has beenacquired at block 435 (within the timeout limit set by the timer startedat block 423), then the method 300 may continue on to block 443 toinclude determining that the primary type is associated with thesecondary type. If there is an association, then the method 300 maycontinue on to block 451 to include storing the primary and secondarytypes together, emitting an audible signal, and then reporting theprimary type and the secondary type to the transaction processing system(e.g., POS).

In some embodiments, the method 300 includes acquiring the new barcodedata that identifies the primary type during the time period at block435, as well as determining the primary type comprises a standaloneprimary barcode (i.e., no secondary code is needed) at block 443, andthen flushing the buffer before or while emitting an audible indication(e.g., “beep”) and reporting only the primary type to the transactionprocessing system (e.g., POS) at block 447.

In some embodiments, the method 300 comprises failing to acquire the newbarcode data that identifies the primary type during the time period atblocks 435 and 439, and then flushing the buffer and promptingacquisition of alternative barcode data at block 461.

In some embodiments, barcode types may be redefined dynamically, as partof the scanning or tender processes. Thus, returning to the activity ofblock 329, in some embodiments, the acquisition of a primary code type(or a secondary code type) may lead to redefinition of code types forsubsequent scanning activity.

For example, after scanning to obtain barcode data at block 317, themethod 300 may continue on to block 349 to include identifying, by ascanning device, whether barcode data includes a barcode type as one ofa primary type or a secondary type, and then accessing a database tolocate at least one barcode processing rule associated with theidentified barcode type. In some embodiments, the database is located inthe scanning device. In some embodiments, the database is located in atransaction processing system (e.g., POS) communicatively coupled to thescanning device (e.g., see FIGS. 1 and 2).

The method 300 may continue on to block 357 to comprise redefining thebarcode type as a redefined secondary barcode when the barcode type isidentified as a primary type, or redefining the barcode type as aredefined primary barcode when the barcode type is identified as asecondary type, according to the at least one barcode processing rule.For example, the activity of redefinition at block 357 may includeredefining the bar code type to be a redefined primary bar code of aselected type, to enable selective reception of loyalty program data.

The activity at block 357 may further comprise filtering new barcode, bythe scanning device, to selectively receive the redefined primarybarcode or the redefined secondary barcode. The activity at block 357may also comprise emitting an audible signal to prompt acquisition ofthe at least one redefined primary barcode or the redefined secondarybarcode.

In some embodiments, the activity of accessing the database at block 349occurs as part of a tendering operation, so that the method 300comprises receiving a tender of currency (e.g., cash or credit, or someother token of value) at block 361.

Another embodiment of the invention takes the form of a scanner, such asthe scanner 108 of FIG. 1. The scanner in such embodiments includes acommunication interface device 114, at least one barcode reading device(e.g., scanning device 118), at least one data processing device such asa processor 122, and at least one memory device 124. The at least onememory device 124 stores, among other things, a local database ofbarcode data and instructions (e.g., perhaps part of the other softwareand data 130) executable by the at least one data processing device. Theinstructions in such embodiments are executable by the at least one dataprocessing device to perform data processing activities. These dataprocessing activities may include any and every action described withrespect to the method of FIG. 3.

Thus, in some embodiments, a system comprises at least one barcodescanning device (e.g., scanning device 118), at least one dataprocessing device (e.g., the processor 122), and at least one memorydevice 124 storing a local database (e.g., as part of the other softwareand data 130) of barcode data and instructions executable by the atleast one data processing device. The instructions are executable by theat least one data processing device to perform data processingactivities comprising: identifying, by a scanning device, whetherbarcode data includes one of a primary type or a secondary type;reconfiguring the scanning device to receive secondary barcode data whenthe primary type comprises a non-standalone primary barcode; reporting astandalone secondary barcode of the secondary type to a transactionprocessing system; and buffering a non-standalone secondary barcode ofthe secondary type.

In some embodiments of the system, the scanning device forms a part ofthe transaction processing system that comprises a Self-Service Terminal(SST). In some embodiments, the SST comprises a self-checkoutPoint-Of-Sale (POS) system. Many other embodiments may be realized, butare not explicitly described here in the interest of simplicity andbrevity.

Thus, the accompanying drawings that form a part hereof, show by way ofillustration, and not of limitation, specific embodiments in which thesubject matter may be practiced. The embodiments illustrated aredescribed in sufficient detail to enable those skilled in the art topractice the teachings disclosed herein. Other embodiments may beutilized and derived therefrom, such that structural and logicalsubstitutions and changes may be made without departing from the scopeof this disclosure. This Detailed Description, therefore, is not to betaken in a limiting sense, and the scope of various embodiments isdefined only by the appended claims, along with the full range ofequivalents to which such claims are entitled.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the above description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b), requiring an abstract that will allow the reader to quicklyascertain the nature of the technical disclosure. It is submitted withthe understanding that it will not be used to interpret or limit thescope or meaning of the claims. In addition, in the foregoing DetailedDescription, it can be seen that various features are grouped togetherin a single embodiment for the purpose of streamlining the disclosure.This method of disclosure is not to be interpreted as reflecting anintention that the claimed embodiments require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Detailed Description, with each claim standing onits own as a separate embodiment.

What is claimed is:
 1. A method, comprising: identifying, by a scanningdevice, whether barcode data includes one of a primary type or asecondary type based on one or more rules that designate a barcodecaptured by the scanning device as either a primary or secondarybarcode; reconfiguring the scanning device to receive secondary barcodedata when the primary type comprises a non-standalone primary barcode;reporting a standalone secondary barcode of the secondary type to atransaction processing system; and buffering a non-standalone secondarybarcode of the secondary type.
 2. The method of claim 1, furthercomprising: reporting the primary type to the transaction processingsystem when the primary type comprises a standalone primary barcode. 3.The method of claim 1, further comprising: starting a timer to limit atime period for identifying a primary type from new barcode dataacquired after the buffering.
 4. The method of claim 3, furthercomprising: acquiring the new barcode data that identifies the primarytype during the time period; determining the primary type is associatedwith the secondary type; and reporting the primary type and thesecondary type to the transaction processing system.
 5. The method ofclaim 3, further comprising: acquiring the new barcode data thatidentifies the primary type during the time period; determining theprimary type comprises a standalone primary barcode; and flushing thebuffer and reporting only the primary type to the transaction processingsystem.
 6. The method of claim 3, further comprising: failing to acquirethe new barcode data that identifies the primary type during the timeperiod; flushing the buffer; and prompting acquisition of alternativebarcode data.
 7. The method of claim 1, further comprising: promptingfor acquisition of the secondary barcode data including an associatedsecondary type after reconfiguring the scanning device.
 8. The method ofclaim 1, wherein the reconfiguring includes reconfiguring the scanningdevice to ignore the primary type in the secondary barcode data.
 9. Themethod of claim 1, further comprising: accessing a set of barcodeprocessing rules to determine that the secondary type comprises thestandalone secondary barcode; and emitting an audible signal toacknowledge presence of a selected type of the standalone secondarybarcode.
 10. The method of claim 1, further comprising: accessing a setof barcode processing rules to determine that the secondary typecomprises the non-standalone secondary barcode; and assigning thenon-standalone secondary bar code to an associated primary barcode. 11.The method of claim 10, further comprising: determining an identity ofthe associated primary barcode based on physical proximity tonon-standalone secondary bar code.
 12. The method of claim 10, furthercomprising: determining an identity of the associated primary barcodebased on at least one barcode processing rule applied to barcodesscanned prior to and after acquisition of the bar code data.
 13. Amethod comprising: identifying, by a scanning device, whether barcodedata includes a barcode type as one of a primary type or a secondarytype based on one or more rules that designate a barcode captured by thescanning device as either a primary or secondary barcode; accessing adatabase to locate, at least one barcode processing rule associated withthe barcode type; redefining the barcode type as a redefined secondarybarcode when the barcode type is identified as a primary type, orredefining the barcode type as a redefined primary barcode when thebarcode type is identified as a secondary type, according to the atleast one barcode processing rule; and filtering new barcode, by thescanning device, to selectively receive the redefined primary barcode orthe redefined secondary barcode.
 14. The method of claim 13, furthercomprising: emitting an audible signal to prompt acquisition of the atleast one redefined primary barcode or the redefined secondary barcode.15. The method of claim 13, wherein the accessing occurs as part of atendering operation.
 16. The method of claim 13, wherein the database islocated in the scanning device or in a transaction processing systemcommunicatively coupled to the scanning device.
 17. The method of claim13, wherein the redefining comprises redefining the bar code type to bea redefined primary bar code of a selected type, to enable selectivereception of loyalty program data.
 18. A system, comprising: at leastone barcode scanning device; at least one data processing device; and atleast one memory device storing a local database of barcode data andinstructions executable by the at least one data processing device, theinstructions executable by the at least one data processing device toperform data processing activities, the data processing activitiescomprising: identifying, by a scanning device, whether barcode dataincludes one of a primary type or a secondary type based on one or morerules that designate a barcode captured by the scanning device as eithera primary or secondary barcode; reconfiguring the scanning device toreceive secondary barcode data when the primary type comprises anon-standalone primary barcode; reporting a standalone secondary barcodeof the secondary type to a transaction processing system; and bufferinga non-standalone secondary barcode of the secondary type.
 19. The systemof claim 18, wherein the scanning device forms a part of the transactionprocessing system that comprises a Self-Service Terminal (SST).
 20. Thesystem of claim 19, wherein the SST comprises a self-checkoutPoint-Of-Sale (POS) system.